package zuoye3;
/*3)、使用TCP网络编程完成用户登录功能：客户端输入用户名和密码，向服务器发出登录请求；服务器接收数据并进行判断，如果用户名和密码均是bjsxt，则登录成功，否则登录失败，返回相应响应信息；客户端接收响应信息并输出登录结果。
(1) 用户User类已提供构造方法 public User(String username,String password)。
(2) 客户端采用ObjectOutputStream发送封装了用户名和密码的User对象。
*/

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

public class ClientTest {
    public static void main(String[] args) {
        Socket socket=null;
        OutputStream os=null;
        ObjectOutputStream oos=null;
        try {
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入账号：");
            String userName=sc.next();
            System.out.println("请输入密码：");
            String password=sc.next();
            socket=new Socket("localhost",5000);
            User user=new User(userName,password);
            os=socket.getOutputStream();
            oos=new ObjectOutputStream(os);
            oos.writeObject(user);

            socket.shutdownOutput();
            InputStream is=socket.getInputStream();
            BufferedReader br=new BufferedReader(new InputStreamReader(is));
            String replay;
            if ((replay = br.readLine()) != null) {
                System.out.println("服务器说"+replay);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                socket.close();
                os.close();
                oos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
